package com.example.demo.lua;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.data.redis.core.script.RedisScript;
import org.springframework.stereotype.Service;

import java.util.Arrays;

@Service
public class LuaScriptService {
    @Autowired
    private StringRedisTemplate stringRedisTemplate;

    public String executeLuaScriptFromString() {
        stringRedisTemplate.opsForValue().set("key","val");
        String val = stringRedisTemplate.opsForValue().get("key");
        System.out.println("val:"+val);
//        String luaScript = "local a = tonumber(ARGV[1])\nlocal b = tonumber(ARGV[2])\nreturn a + b";
//        RedisScript<Integer> script = new DefaultRedisScript<>(luaScript, Integer.class);
//        String[] keys = new String[0]; // 通常情况下，没有KEYS部分
//        Object[] args = new Object[]{10, 20}; // 传递给Lua脚本的参数
//        Integer result = stringRedisTemplate.execute(script, Arrays.asList(keys), args);
        return val;
    }
}
